package com.zmn.oms.third.base.dto.api;

import lombok.Data;

import java.util.List;

/**
 * 类描述：
 *
 * @author LiangHailong
 * @date 2019/09/24 17:20
 */
@Data
public class ApiInvokResult<T> {
    private boolean success;
    private String msg;
    private String code;

    private T data;
    private List<T> items;

    @Override
    public String toString() {
        return String.format("ApiInvokResult(success=%b, msg=\"%s\", code=\"%s\")", success, msg, code);
    }

    /**
     * 无参构造器
     */
    public ApiInvokResult(){};

    /**
     * 工具方法，返回一个失败的结果
     * @param code
     * @param msg
     * @return
     */
    public static ApiInvokResult fail(String code, String msg) {
        ApiInvokResult obj = new ApiInvokResult();
        obj.setSuccess(false);
        obj.setCode(code);
        obj.setMsg(msg);
        return obj;
    }

    /**
     * 工具方法，返回一个失败的结果
     * @param msg
     * @return
     */
    public static ApiInvokResult fail(String msg) {
        return fail(null, msg);
    }
}
